Могут быть протестированы по следующим ресурсам:
Регулярные выражения встроены в JavaScript
Следующее выражение найдет 'Веб программирование', 'Программирование', 'Вперед', 'Что-то еще'
// literal syntax
const literalRegex = /e$/g;
// function constructor syntax
const constructorRegex = new RegExp('^В', 'g');
RegExp.test – Ищет совпадение в строке. Возвращает true или falseRegExp.exec - ищет все совпадения в строкеnull.String.match – ищет совпадение в строкеnull если совпадение не найденоString.replace – заменяет все совпадение подстроки в строке на указанную строкуString.split – разбивает строку на массив подстрок, используя регулярное выражение или подстрокуString.search – тестирует наличие совпадения в строке- g глобальное сопоставление
- i - игнорирование регистра при сопоставлении
- m - сопоставление по нескольким строкам; символы начала и конца (^ и $) начинают работать по нескольким строкам (то есть, происходит сопоставление с началом или концом каждой строки (строки разделяются символами \n или \r), а не только с началом или концом всей вводимой строки)
- y - «липкий» поиск; сопоставление в целевой строке начинается с индекса, на который указывает свойство lastIndex этого регулярного выражения (и не пытается сопоставиться с любого более позднего индекса).
RegExp.test, String.match, RegExp.exec
In [23]:
var academyRegex = /Курс(ах|е)?\s(веб\s)?программировани?(я|e|ю)?/gi;
var text = 'Женя изучает JavaScript На курсах веб программирования пока Саня, то же учится на курсе программированию.';
var matches = text.match(academyRegex);
console.log(matches)
console.log("=======================")
var currentMatch;
while(currentMatch = academyRegex.exec(text)) {
console.log(currentMatch);
}
Out[23]:
In [24]:
var text = 'текст с множеством пробелов\n' +
' и множеством табуляций ';
text.replace(/\s\s+/g, ' ');
Out[24]:
In [25]:
var expression = '4+5*count-initialCount+1';
var operands = expression.split(/\+|\*|-/);
operands;
Out[25]:
In [26]:
var text = 'JavaScript крутой!';
var index = text.search(/крутой/);
index;
Out[26]:
Полный перечень специальных символов доступен по ссылке здесь
* – Представляет символ или группу в выражении 0 или больше раз
+ – То же что и * - только предтавляет 1 или больше раз? – представляет символ или группу в выражении 0 or 1 раз.(dot) – представляет один любой символ исключая перевод строки
| – Совпадение одного или другого паттерна
[xyz] – Набор символов - Совпадения указанных символов[x-z] – Набор символов - Совпадения символов, вхоящих в указанный диапазон[^xyz] – Инвертированый набор символов - совпадения других символов{N} – точно соответствует N вхождений элемента или группы{N, M} – соответствует от N до M вхождений элемента или группы^ - совпадения от начала строки$ совпадения до конца строки
\s – совпадение одного пробельного символа, включает пробел, табуляция, form feed, line feed
\S – Совпадение любого символа кроме пробельного\d – Совпадение цифры
[0-9]\D – совпадение не цифрового символа
[^0-9]\w – соответствует любому алфавитно цифровому символу, включая нижнее подчеркивание\W – любые совпадения кроме алфавитно-цифровых символов или нижнего подчеркивания_4 и 15, искючительно['Chris11', '', 'Joe', 'Peter_356', '123george',
'__proto__', 'ImATooLongUsername15', 'J0hn_', '<h1>scripter</h1>']